The present invention relates to a method and system for communicating data among devices broadly defined as computers, such as a host computer and a workstation, connected in a communication network such as a local area network (LAN), a metropolitan area network (MAN) or wide area network (WAN), and more particularly a data transfer method arranged to improve communication performance there between throughput and turn-around time between computers.
Conventionally, communication protocol such as TCP/IP (Transmission Control Protocol/Internet Protocol) has been used for exchanging data between the end systems, simply called ES, of the computer devices connected with the communication network. This communication network provides flow control for data transfer at each connection between the end systems (ES) of the computer devices communicating with each other.
For example, the TCP/IP provides sliding window control for serially sending out data packets without receiving an acknowledge packet from a destination device. This sliding window control has a function of continuously sending out data packets without receiving the ACK packet unless the amount of data to be sent exceeds a window size. The window size is defined as an amount of data permitted to be sent out without receiving the ACK packet from the destination device. As such, the sliding window control allows the data to be pushed out if no ACK is received. This leads to enhancing the efficiency of the communication protocol.
As has been often noted, the foregoing prior art has a disadvantage in that the computer device does not make the most of a communication network though the network provides a fast connecting interface. If a file is transferred on the TCP/IP, this disadvantage is brought about by propagation delay of the ACK packet of the TCP/IP.
The TCP/IP, as mentioned above, provides the sliding window control, so that it can transmit data without receiving the ACK packet from the destination device, unless the amount of data to be transmitted reaches the window size. However, if no ACK is given back by the destination device, the TCP/IP does not allow a larger amount of data than the window size to be sent out to the destination device.
With increase of the propagation delay, it takes a longer time for the source device to receive the ACK from the destination device, so the source device needs a longer waiting time for further data transmission. This results in lowering the performance (for example, the throughput) of the communication between the source device and the destination device.
As an example, consider the case that data is sent out to a destination device located at a distance of 1000 Kilometers. In this case, the propagation delay time is 0.003 second (on the assumption that the propagation speed is 300,000,000 meters). Hence, the propagation of the data to the destination device needs the time of 0.003 second and likewise a response of the ACK to the sending device needs the time of 0.003 second.
On the other hand, when the data of about 48 kbytes (about 360 kilo bits) is transmitted through an interface of 155 Mbps, the transmission needs a time of about 0.003 second if the window size is defined as 48 kbytes. The transmission time is substantially analogous to the subsequent propagation delay time. Thus about a half of the transmission time is wasted, that is, idle in the transmitting process.
When data is transferred through a communication network having a large propagation delay time, basically, the waiting time for transmitting the data is made longer. This means that full advantage is not taken of the communication network provided with a fast interface. Hence, though the faster interface is connected with the communication network, the performance of transferring the data is not improved accordingly.